The present invention relates to data items, and more specifically, to configuring communication data items.
A communication protocol can be described as a system of digital message formats and rules. The protocol is used for exchanging digital messages between devices on a network that are capable of transmitting and/or receiving the particular message format. These messages are sent and received by devices on the network to establish communications and transfer data between the devices. The communication protocol specifies the rules governing this transmission of the messages, including the transmission of data items. As such, a class of communication protocols exists that are designed to transport predefined data items between two or more devices on the network. A device manufacturer or vendor utilizing such a protocol typically configures the device software and/or firmware responsible for the data items to generate a fixed form of data items so the vendor's device is able to transmit and receive communications in a configuration that is most efficient for the device and within the bounds of the communication protocol rules.
However, some customers that have devices on the network that interface, i.e., communicate, with the vendor's device may prefer to utilize a form of data items that is different from the preconfigured and fixed data items utilized by the device vendor. Accordingly, the customer may request that the vendor's device support a modified or completely different data item form to facilitate improving the communication efficiency, maintain compatibility with legacy devices, or compatibility with competitors devices. In order to accommodate a customer that is requesting such a change to the device vendor's preconfigured and fixed data item form, the device vendor most often must perform exclusive changes to the software and/or firmware of the vendor's device. Software/firmware changes are expensive, time consuming, and difficult to manage, as they are specific to the customer's request, and are rarely transferable to be used by other customers. Most vendors are reluctant to make these unique changes for a single customer because of these reasons.
Areas where communication protocols are used extensively are in the fields of manufacturing and automation. For example, some well known protocols used for communication between devices are EtherNet/IP, Profinet, CIP, and ModbusTCP, among others. A manufacturing/automation network can also include a wide variety of devices, including computers, robots, machines, and sensors, and there are countless others.
One exemplary technical field that may use a communication protocol for communications and the transfer of data is the field of machine vision or image processing analysis. In its simplest form, machine vision is typically used to inspect and/or locate an object. For example, in manufacturing applications, machine vision analysis may be used to detect defects in a manufactured object by acquiring images of the object and using various types of image processing algorithms to analyze the images. As an example, a system to manufacture electrical components such as resistors may use machine vision to examine the resistor in order to detect manufacturing defects, and ensure that the resistor is marked or color coded properly. A large amount of data can be collected and analyzed during the machine vision process. Not only must some or all of this data be communicated to other devices, instructions and other application related data can also be communicated to and from the machine vision system.
There are data conversion packages and industrial gateway devices available that allow a user to convert data from one device that operates using a first data format to another device that operates using a data format different than the first. These systems are mainly available in the field of information processing systems or database systems, and are mainly for the purpose of converting data one time from one system to another. However, these systems do not address the problem of reconfiguring communicated data items defined by the device vendor.
There are other system specifications that focus more on manufacturing and automation applications, such as OLE for Process Control (OPC) and Common Industrial Protocol (CIP). OPC provides an open standard specification for data communication and data access. The OPC specification does allow dynamic selection of what data items a user would like to transfer, but the OPC specification does not provide a means to dynamically alter the format or value of a data item. Similarly, the CIP includes a specification for dynamic assemblies, but, similar to OPC, this does not allow for data type or value conversion, such as bit field to integer or value inversion, for example.
What is needed are systems and methods that allow the dynamic configuration of data content and format, while maintaining independence from the underlying communication protocol.